package com.isoft.service.impl;

import com.isoft.mapper.LifecycleRecordMapper;
import com.isoft.pojo.vo.LifecycleRecordVO;
import com.isoft.service.WorkspaceService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;

import java.time.LocalDateTime;
import java.util.List;

@Service
@Transactional // 如需事务管理可添加
public class WorkspaceServiceImpl implements WorkspaceService {

    // 注入Mapper接口（用于数据库操作）
    @Autowired
    private LifecycleRecordMapper lifecycleRecordMapper;

    /**
     * 多表联查获取指定时间范围内的生命周期记录列表
     * @param startTime 开始时间
     * @param endTime 结束时间
     * @return 生命周期记录VO列表
     */
    @Override
    public List<LifecycleRecordVO> getLifecycleRecordList(String keyword, String operationType,LocalDateTime startTime, LocalDateTime endTime) {
        // 1. 参数校验（可选，根据业务需求添加）
        if (startTime == null || endTime == null) {
            throw new IllegalArgumentException("时间范围不能为空");
        }
        if (startTime.isAfter(endTime)) {
            throw new IllegalArgumentException("开始时间不能晚于结束时间");
        }
        // 2. 调用Mapper层执行多表联查
        // 注意：这里的方法名需要与Mapper接口中的方法名一致
        List<LifecycleRecordVO> recordList = lifecycleRecordMapper.selectLifecycleRecords(
                keyword,
                operationType,
                startTime,
                endTime
        );
        return recordList;
    }


}
